Many electro-mechanical systems, devices, and products include control systems programmed to control their operation according to a predefined control algorithm. For example, systems that include a motor for controlling a position and/or speed of an electro-mechanical component typically include a control system executing a control algorithm that controls operation of the motor according to a defined system operation routine or sequence. These control systems may be implemented in part on semiconductor devices such as microcontrollers or other programmable integrated circuit.
Although there are a number of commonalities among control applications of a similar type, control routines differ across different control applications depending on the particular application in which the routine is used. For example, a process for control of a particular type of three-phase induction motor may be a key building block for many types of products that use such motors. However, the program for controlling the motor as an agitator in a washing machine differs from a program for controlling the same motor as a roller in a conveyor system. Despite the commonalities between control routines for various types of products, designers must often develop the control routines for a given product by writing a considerable amount of control code, which may include both common control functionality for a given type of control application as well as custom code particular to the product for which the control code is being written.
The above-described is merely intended to provide an overview of some of the challenges facing conventional motion control systems. Other challenges with conventional systems and contrasting benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description.